(function($, undefined ) {
	var areaDocument;
	$.areaInitByJson=function(url){
		$.ajax({
			url:url,
			type:'Get',
			async:false,
			cache:true,
			dataType:"json",
			error:function(XMLHttpRequest,textStatus) {
	              alert('加载失败，请稍候重试！');
	    	  },
	  		  success: function(response){
	  			areaDocument=$(response);
			  } 
		});
	};
	
	/**选中文本**/
	$.fn.areaSelectedText=function(selectedValue){
		 var self=$(this);
 		 self.append("<option value=''>请选择</option>");
 		 areaDocument.each(function(i,m){
 			if(m.id==selectedValue){
				self.append("<option selected='selected' value='"+ m.id +"'>"+ m.name +"</option>");
			 }else{
				self.append("<option value='"+ m.id +"'>"+ m.name +"</option>");
			 }
 		 });
	};
	
	/**级联选中**/
	$.fn.areaCascade = function(parent,selectedValue) {
		 var self=$(this);
		 $('#'+parent).change(function(){
		 	self.empty();
		 	self.append("<option value='0'></option>");
		    var parentCode=$('#'+parent).val();
		    var element=areaDocument.find("*[code='" + parentCode + "']");
		    if(element.children().size()==0){
		    	self.hide();
		    }
			element.children().each(function(){
				self.show();
				var name = $(this).attr("name");
				var value = $(this).attr("code");
				if(value==selectedValue){
					self.append("<option selected='selected' value='"+ value +"'>"+ name +"</option>");
				}else{
					self.append("<option value='"+ value +"'>"+ name +"</option>");
				}
			});
		  });
	};
	/**级联**/
	$.fn.areaCascadeByJson=function(parent,url,selectedValue){
		 var self=$(this);
		//判断上级区域的value不为空时，默认加载上级区域所管辖的子区域信息
		 var parentValue=$('#'+parent).val();
		 if(parentValue!=''&&parentValue!=null){
			 $.areaInitByJson(url+"?fatherId="+parentValue);
			 if(areaDocument.length==0){
				 self.hide();
			 }else{
				 self.empty();
				 self.show();
				 self.append("<option value=''>请选择</option>");
		  		 areaDocument.each(function(i,m){
		  			if(m.id==selectedValue){
						self.append("<option selected='selected' value='"+ m.id +"'>"+ m.name +"</option>");
					 }else{
						self.append("<option value='"+ m.id +"'>"+ m.name +"</option>");
					 }
		  		 });
			 }
		 }
		 $('#'+parent).change(function(){
			 var fatherId=$(this).val();
			 if(fatherId==''){
				 self.hide();
				 self.empty();
				 if(parent=='root'){
					 $("#child").hide();
				 }
			 }else{
				 $.areaInitByJson(url+"?fatherId="+fatherId);
				 if(areaDocument.length==0){
					 self.hide();
				 }else{
					 self.empty();
					 self.show();
					 self.append("<option value=''>请选择</option>");
			  		 areaDocument.each(function(i,m){
			  			if(m.id==selectedValue){
							self.append("<option selected='selected' value='"+ m.id +"'>"+ m.name +"</option>");
						 }else{
							self.append("<option value='"+ m.id +"'>"+ m.name +"</option>");
						 }
			  		 });
				 }
			 }
		 });
};
})(jQuery);